<?php

class RssController extends Controller     //Контроллер вывода ленты в формате RSS
{

	public function actionIndex()
	{
	   /**
	    * site.ru/rss?all            Выводит все статьи (из блога и новостей)
        * site.ru/rss?blog           Выводит статьи из блога
        * site.ru/rss?news           Выводит статьи из новостей
       */
       
		Yii::import('ext.feed.*');
        Yii::import('application.modules.admin.modules.blog.models.*');             //Подключение моделей из модуля блога
        Yii::import('application.modules.admin.models.*');                          //Подключение модели новостей
	
		$feed = new EFeed();      	                                                // RSS 2.0 is the default type
        
        if(isset($_GET['all']))
        {
          $blogcriteria = new CDbCriteria;
          $blogcriteria->limit = Yii::app()->settings->get('system', 'rsscount');                                                //Количество выводимых новостей (в настройках)
          $blog = Blogpost::model()->findAll($blogcriteria);  
        
          $newscriteria = new CDbCriteria;
          $newscriteria->limit = Yii::app()->settings->get('system', 'rsscount');
          $news = News::model()->findAll($newscriteria);      
        }
        
        if(isset($_GET['blog']))
        {
          $blogcriteria = new CDbCriteria;
          $blogcriteria->limit = Yii::app()->settings->get('system', 'rsscount');       //Количество выводимых новостей (в настройках)
          $blog = Blogpost::model()->findAll($blogcriteria);  
        }
        
        if(isset($_GET['news']))
        {
          $newscriteria = new CDbCriteria;
          $newscriteria->limit = Yii::app()->settings->get('system', 'rsscount');                                              //
          $news = News::model()->findAll($newscriteria);      
        }
        
            /** Общий заголовок текущей ленты RSS  */
            $feed->title = 'Octane CMS RSS Feed';                                                    
    		$feed->description = 'Это тестовые новости блога';                                       
    	//	$feed->setImage('Testing RSS 2.0 EFeed class','http://www.ramirezcobos.com/rss',
    	//	'http://www.yiiframework.com/forum/uploads/profile/photo-7106.jpg');
    		$feed->addChannelTag('language', 'ru-ru');
    		$feed->addChannelTag('pubDate', date(DATE_RSS, time()));
    		$feed->addChannelTag('link', 'http://test1.ru/rss' ); 
         
        if(isset($blog))
        { 
            foreach($blog as $blogitem)
            { 
       	        	// * self reference
                	//	$feed->addChannelTag('atom:link','http://www.ramirezcobos.com/rss/'); 
        		$item = $feed->createNewItem();
        		 
        		$item->title = $blogitem->title;                                                         
        		$item->link =  'http://test1.ru/blog/fullpost/'.$blogitem->id;                          
        		$item->date = $blogitem->public_time;                                                                           
        		$item->description = $blogitem->prev_content;                                         
        		        // this is just a test!!
        	           //	$item->setEncloser('http://www.tester.com', '1283629', 'audio/mpeg');
        		 
        		$item->addTag('author', 'test1.ru');
                      //	$item->addTag('guid', 'http://www.ramirezcobos.com/',array('isPermaLink'=>'true'));
        		 
        		$feed->addItem($item);
    		 }
         }
         
         
         if(isset($news))
         {
             foreach($news as $newsitem)
             {  
        		$item = $feed->createNewItem();
        		 
        		$item->title = $newsitem->title;                                                         
        		$item->link = $this->createAbsoluteUrl('news/fullnews', array('alias'=>$newsitem->alias));                          
        		$item->date = $newsitem->public_time;                                                                           
        		$item->description = $newsitem->prev_content;                                         
        		 
        		$item->addTag('author', 'test1.ru'); 		 
        		$feed->addItem($item);
    		 }
         }
         
        // ********************************** 
		$feed->generateFeed();
		Yii::app()->end();
	}
	
}